package cn.flying.financial.cps.process.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 申请单信息
 *
 * @author lvyong
 * @since 2024-02-19 16:34:28
 */
@TableName("cp_apply_order")
public class CpApplyOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 申请单号
     */
    @TableField("app_no")
    private String appNo;

    /**
     * 申请人
     */
    @TableField("name")
    private String name;

    /**
     * 性别
     */
    @TableField("gender")
    private String gender;

    /**
     * 年龄
     */
    @TableField("age")
    private Integer age;

    /**
     * 生日
     */
    @TableField("birthday")
    private LocalDate birthday;

    /**
     * 证件编号
     */
    @TableField("id_no")
    private String idNo;

    /**
     * 证件类型
     */
    @TableField("id_type")
    private String idType;

    /**
     * 移动电话
     */
    @TableField("phone")
    private String phone;

    /**
     * 工作单位
     */
    @TableField("work_unit")
    private String workUnit;

    /**
     * 渠道编号
     */
    @TableField("channel_no")
    private String channelNo;

    /**
     * 产品编号
     */
    @TableField("product_no")
    private String productNo;

    /**
     * 客户编号
     */
    @TableField("cust_no")
    private String custNo;

    /**
     * 申请类型
     */
    @TableField("app_type")
    private String appType;

    /**
     * 申请日期
     */
    @TableField("app_date")
    private LocalDate appDate;

    /**
     * 申请状态
     */
    @TableField("app_status")
    private String appStatus;

    /**
     * 申请金额
     */
    @TableField("app_amt")
    private BigDecimal appAmt;

    /**
     * 申请期数
     */
    @TableField("app_term")
    private Integer appTerm;

    /**
     * 授信额度
     */
    @TableField("loan_amt")
    private BigDecimal loanAmt;

    /**
     * 贷款期数
     */
    @TableField("loan_term")
    private Integer loanTerm;

    /**
     * 贷款利率
     */
    @TableField("loan_rate")
    private BigDecimal loanRate;

    /**
     * 贷款用途
     */
    @TableField("loan_use")
    private String loanUse;

    /**
     * 合同编号
     */
    @TableField("contract_no")
    private String contractNo;

    /**
     * 币种
     */
    @TableField("currency")
    private String currency;

    /**
     * 贷款状态
     */
    @TableField("loan_status")
    private String loanStatus;

    /**
     * 利率浮动值
     */
    @TableField("rate_ratio")
    private BigDecimal rateRatio;

    /**
     * lpr利率
     */
    @TableField("lpr_rate")
    private BigDecimal lprRate;

    /**
     * lpr生效日期
     */
    @TableField("lpr_date")
    private LocalDate lprDate;

    /**
     * lpr利率类型
     */
    @TableField("lpr_type")
    private String lprType;

    /**
     * 贷款机构
     */
    @TableField("loan_org")
    private String loanOrg;

    /**
     * 放款卡号
     */
    @TableField("loan_acct_no")
    private String loanAcctNo;

    /**
     * 放款卡号银行名称
     */
    @TableField("loan_bank_name")
    private String loanBankName;

    /**
     * 放款卡号银行行号
     */
    @TableField("loan_bank_no")
    private String loanBankNo;

    /**
     * 还款卡号
     */
    @TableField("pay_acct_no")
    private String payAcctNo;

    /**
     * 还款卡号银行名称
     */
    @TableField("pay_bank_name")
    private String payBankName;

    /**
     * 还款卡号银行行号
     */
    @TableField("pay_bank_no")
    private String payBankNo;

    /**
     * 还款方式
     */
    @TableField("pay_method")
    private String payMethod;

    /**
     * 终端标识
     */
    @TableField("acq_id")
    private String acqId;

    /**
     * 审批状态
     */
    @TableField("state")
    private String state;

    /**
     * 流程实例编号
     */
    @TableField("pro_num")
    private String proNum;

    /**
     * 流程标识
     */
    @TableField("workflow_flag")
    private String workflowFlag;

    /**
     * 流程环节ID
     */
    @TableField("node_id")
    private String nodeId;

    /**
     * 流程环节名称
     */
    @TableField("node_name")
    private String nodeName;

    /**
     * 审批完成时间
     */
    @TableField("comp_time")
    private LocalDateTime compTime;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 交易流水号
     */
    @TableField("serial_no")
    private String serialNo;

    /**
     * 租户号
     */
    @TableField("tenant_id")
    private String tenantId;

    /**
     * 管理人ID
     */
    @TableField("biz_user_id")
    private String bizUserId;

    /**
     * 管理人名称
     */
    @TableField("biz_user_name")
    private String bizUserName;

    /**
     * 所属机构ID
     */
    @TableField("biz_org_id")
    private String bizOrgId;

    /**
     * 所属机构名称
     */
    @TableField("biz_org_name")
    private String bizOrgName;

    /**
     * 权限ID
     */
    @TableField("role_id")
    private String roleId;

    /**
     * 乐观锁
     */
    @TableField("revision")
    @Version
    private Long revision;

    /**
     * 创建人
     */
    @TableField(value = "created_by", fill = FieldFill.INSERT)
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField(value = "created_time", fill = FieldFill.INSERT)
    private LocalDateTime createdTime;

    /**
     * 更新人
     */
    @TableField(value = "updated_by", fill = FieldFill.INSERT_UPDATE)
    private String updatedBy;

    /**
     * 更新时间
     */
    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedTime;

    /**
     * 删除标识
     */
    @TableField(value = "deleted", fill = FieldFill.INSERT)
    @TableLogic
    private String deleted;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAppNo() {
        return appNo;
    }

    public void setAppNo(String appNo) {
        this.appNo = appNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public LocalDate getBirthday() {
        return birthday;
    }

    public void setBirthday(LocalDate birthday) {
        this.birthday = birthday;
    }

    public String getIdNo() {
        return idNo;
    }

    public void setIdNo(String idNo) {
        this.idNo = idNo;
    }

    public String getIdType() {
        return idType;
    }

    public void setIdType(String idType) {
        this.idType = idType;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getWorkUnit() {
        return workUnit;
    }

    public void setWorkUnit(String workUnit) {
        this.workUnit = workUnit;
    }

    public String getChannelNo() {
        return channelNo;
    }

    public void setChannelNo(String channelNo) {
        this.channelNo = channelNo;
    }

    public String getProductNo() {
        return productNo;
    }

    public void setProductNo(String productNo) {
        this.productNo = productNo;
    }

    public String getCustNo() {
        return custNo;
    }

    public void setCustNo(String custNo) {
        this.custNo = custNo;
    }

    public String getAppType() {
        return appType;
    }

    public void setAppType(String appType) {
        this.appType = appType;
    }

    public LocalDate getAppDate() {
        return appDate;
    }

    public void setAppDate(LocalDate appDate) {
        this.appDate = appDate;
    }

    public String getAppStatus() {
        return appStatus;
    }

    public void setAppStatus(String appStatus) {
        this.appStatus = appStatus;
    }

    public BigDecimal getAppAmt() {
        return appAmt;
    }

    public void setAppAmt(BigDecimal appAmt) {
        this.appAmt = appAmt;
    }

    public Integer getAppTerm() {
        return appTerm;
    }

    public void setAppTerm(Integer appTerm) {
        this.appTerm = appTerm;
    }

    public BigDecimal getLoanAmt() {
        return loanAmt;
    }

    public void setLoanAmt(BigDecimal loanAmt) {
        this.loanAmt = loanAmt;
    }

    public Integer getLoanTerm() {
        return loanTerm;
    }

    public void setLoanTerm(Integer loanTerm) {
        this.loanTerm = loanTerm;
    }

    public BigDecimal getLoanRate() {
        return loanRate;
    }

    public void setLoanRate(BigDecimal loanRate) {
        this.loanRate = loanRate;
    }

    public String getLoanUse() {
        return loanUse;
    }

    public void setLoanUse(String loanUse) {
        this.loanUse = loanUse;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getLoanStatus() {
        return loanStatus;
    }

    public void setLoanStatus(String loanStatus) {
        this.loanStatus = loanStatus;
    }

    public BigDecimal getRateRatio() {
        return rateRatio;
    }

    public void setRateRatio(BigDecimal rateRatio) {
        this.rateRatio = rateRatio;
    }

    public BigDecimal getLprRate() {
        return lprRate;
    }

    public void setLprRate(BigDecimal lprRate) {
        this.lprRate = lprRate;
    }

    public LocalDate getLprDate() {
        return lprDate;
    }

    public void setLprDate(LocalDate lprDate) {
        this.lprDate = lprDate;
    }

    public String getLprType() {
        return lprType;
    }

    public void setLprType(String lprType) {
        this.lprType = lprType;
    }

    public String getLoanOrg() {
        return loanOrg;
    }

    public void setLoanOrg(String loanOrg) {
        this.loanOrg = loanOrg;
    }

    public String getLoanAcctNo() {
        return loanAcctNo;
    }

    public void setLoanAcctNo(String loanAcctNo) {
        this.loanAcctNo = loanAcctNo;
    }

    public String getLoanBankName() {
        return loanBankName;
    }

    public void setLoanBankName(String loanBankName) {
        this.loanBankName = loanBankName;
    }

    public String getLoanBankNo() {
        return loanBankNo;
    }

    public void setLoanBankNo(String loanBankNo) {
        this.loanBankNo = loanBankNo;
    }

    public String getPayAcctNo() {
        return payAcctNo;
    }

    public void setPayAcctNo(String payAcctNo) {
        this.payAcctNo = payAcctNo;
    }

    public String getPayBankName() {
        return payBankName;
    }

    public void setPayBankName(String payBankName) {
        this.payBankName = payBankName;
    }

    public String getPayBankNo() {
        return payBankNo;
    }

    public void setPayBankNo(String payBankNo) {
        this.payBankNo = payBankNo;
    }

    public String getPayMethod() {
        return payMethod;
    }

    public void setPayMethod(String payMethod) {
        this.payMethod = payMethod;
    }

    public String getAcqId() {
        return acqId;
    }

    public void setAcqId(String acqId) {
        this.acqId = acqId;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getProNum() {
        return proNum;
    }

    public void setProNum(String proNum) {
        this.proNum = proNum;
    }

    public String getWorkflowFlag() {
        return workflowFlag;
    }

    public void setWorkflowFlag(String workflowFlag) {
        this.workflowFlag = workflowFlag;
    }

    public String getNodeId() {
        return nodeId;
    }

    public void setNodeId(String nodeId) {
        this.nodeId = nodeId;
    }

    public String getNodeName() {
        return nodeName;
    }

    public void setNodeName(String nodeName) {
        this.nodeName = nodeName;
    }

    public LocalDateTime getCompTime() {
        return compTime;
    }

    public void setCompTime(LocalDateTime compTime) {
        this.compTime = compTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getSerialNo() {
        return serialNo;
    }

    public void setSerialNo(String serialNo) {
        this.serialNo = serialNo;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getBizUserId() {
        return bizUserId;
    }

    public void setBizUserId(String bizUserId) {
        this.bizUserId = bizUserId;
    }

    public String getBizUserName() {
        return bizUserName;
    }

    public void setBizUserName(String bizUserName) {
        this.bizUserName = bizUserName;
    }

    public String getBizOrgId() {
        return bizOrgId;
    }

    public void setBizOrgId(String bizOrgId) {
        this.bizOrgId = bizOrgId;
    }

    public String getBizOrgName() {
        return bizOrgName;
    }

    public void setBizOrgName(String bizOrgName) {
        this.bizOrgName = bizOrgName;
    }

    public String getRoleId() {
        return roleId;
    }

    public void setRoleId(String roleId) {
        this.roleId = roleId;
    }

    public Long getRevision() {
        return revision;
    }

    public void setRevision(Long revision) {
        this.revision = revision;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public LocalDateTime getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(LocalDateTime createdTime) {
        this.createdTime = createdTime;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    public LocalDateTime getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(LocalDateTime updatedTime) {
        this.updatedTime = updatedTime;
    }

    public String getDeleted() {
        return deleted;
    }

    public void setDeleted(String deleted) {
        this.deleted = deleted;
    }

    @Override
    public String toString() {
        return "CpApplyOrder{" +
        "id = " + id +
        ", appNo = " + appNo +
        ", name = " + name +
        ", gender = " + gender +
        ", age = " + age +
        ", birthday = " + birthday +
        ", idNo = " + idNo +
        ", idType = " + idType +
        ", phone = " + phone +
        ", workUnit = " + workUnit +
        ", channelNo = " + channelNo +
        ", productNo = " + productNo +
        ", custNo = " + custNo +
        ", appType = " + appType +
        ", appDate = " + appDate +
        ", appStatus = " + appStatus +
        ", appAmt = " + appAmt +
        ", appTerm = " + appTerm +
        ", loanAmt = " + loanAmt +
        ", loanTerm = " + loanTerm +
        ", loanRate = " + loanRate +
        ", loanUse = " + loanUse +
        ", contractNo = " + contractNo +
        ", currency = " + currency +
        ", loanStatus = " + loanStatus +
        ", rateRatio = " + rateRatio +
        ", lprRate = " + lprRate +
        ", lprDate = " + lprDate +
        ", lprType = " + lprType +
        ", loanOrg = " + loanOrg +
        ", loanAcctNo = " + loanAcctNo +
        ", loanBankName = " + loanBankName +
        ", loanBankNo = " + loanBankNo +
        ", payAcctNo = " + payAcctNo +
        ", payBankName = " + payBankName +
        ", payBankNo = " + payBankNo +
        ", payMethod = " + payMethod +
        ", acqId = " + acqId +
        ", state = " + state +
        ", proNum = " + proNum +
        ", workflowFlag = " + workflowFlag +
        ", nodeId = " + nodeId +
        ", nodeName = " + nodeName +
        ", compTime = " + compTime +
        ", remark = " + remark +
        ", serialNo = " + serialNo +
        ", tenantId = " + tenantId +
        ", bizUserId = " + bizUserId +
        ", bizUserName = " + bizUserName +
        ", bizOrgId = " + bizOrgId +
        ", bizOrgName = " + bizOrgName +
        ", roleId = " + roleId +
        ", revision = " + revision +
        ", createdBy = " + createdBy +
        ", createdTime = " + createdTime +
        ", updatedBy = " + updatedBy +
        ", updatedTime = " + updatedTime +
        ", deleted = " + deleted +
        "}";
    }
}
